<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

  <script>
    // static
    // 作用： 将属性或方法，变为静态属性或静态方法
    // 静态成员：静态属性或静态方法
    // 实例成员：实例属性和实例方法


    // 区别：
    // 实例成员，必须在实例对象上调用
    // 静态成员：直接通过类名来调用

    class Person {
      // 实例成员：实例方法和实例属性
      // 实例方法
      sayHello() {
        console.log('hello, Im Person  ----->  ',);
      }
      // 实例属性
      age = 18

      static sayHi() {
        console.log('hi, 猜猜我在那  ----->  ',);
      }

      static xxx = "xxx"

    }

    // Person.sayHi = function () {
    //   console.log('hi, 猜猜我在那  ----->  ',);
    // }

    // 静态成员：静态方法和静态属性
    // 不需要实例化就能访问的属性，叫做静态属性
    // Person.xxx = "xxx"
    // console.log('Person.xxx  ----->  ', Person.xxx);

    // zs.sayHi()
    // 不需要实例化就能调用的方法，叫做静态方法
    // Person.sayHi()




    const zs = new Person();
    zs.sayHello()


  </script>

</body>

</html>